Copyright: Copyright ® 1994, The Bridge, Inc.


Contents
     Space Calendar - Contents

Space Calendar Overview

Keyboard

Calendar Menu

Holiday Schedule

SpaClndr - Technical Information

Demo Program

Demo Technical Information

About SpaClndr

Ordering Space Calendar

Glossary of Popup Screens

199 California Drive
Millbrae, CA  94030
CompuServe 71662,205
415-697-2730
Fax: 415-692-3921
Copyright 1994

Last Updated: April 28, 1994


Calendar Overview
Space Calendar Overview

The Space Calendar [SpaClndr] displays a computer generated calendar and, if desired, maintains a "holiday schedule" in an Access database.

Calendar

You can display a computer generated calendar, select a date then pass the selected date to an application program.  The date is passed each time you select a date.  The date is displayed in the appropriate field in the "calling" application.

For example: You wish to reserve a room on a specific date but don't have a calendar handy.  You display this calendar, search for the appropriate date, and let the calendar routines place the date in the application's date field.

A number of short-cut keys allow you to quickly search the calendar by moving forward or backward days, months, or years.  For example: pressing the Home key selects the first day of the month, Ctrl-Home selects the first day of the year.  The short-cut keys are described in the Calendar Menu.

See also: Keyboard for a sample calendar layout.

Holiday Schedule

A holiday's description and date can be stored in a Microsoft Access database.  For example: You can enter recurring and unique holidays and have these holiday dates displayed on the Calendar.  You can double-click on the date and display a "grid" of holidays providing detailed holiday information.  See Holiday Schedule for details.


Keyboard

You can use short-cut keys to select the desired date, or move the mouse cursor to the desired date and click either mouse button.  In this example, April 26th has been selected.

Click the lower right box, or press the period [...] key, to display a menu of key entry options.

Click on the following calendar graphic to pop up information about that item.  There are three "hot spots" on this graphic.

Holidays are displayed using the Active Title Bar color.  Recurring holidays are displayed using a "bold" font.  You can double-click [or press enter] on a holiday to review details about that holiday.

If the date is not currently defined as a holiday you can double-click [or press enter] to add a holiday for that date.  The new holiday screen is displayed.


Calendar Menu

You can jump to a desired date from the menu or your can use a short-cut key.  For example: pressing "T" will cause today's date to be selected.

Click on the following menu to pop up information about that item.  There are four "hot spots" on this graphic.


Holiday Schedule

Holiday information can be changed by typing new entries on the grid.  Add a holiday by clicking the "Add" button.  Delete a holiday by clicking the "Delete" button.

Click on the Holiday form to "pop up" information about the use of the form.  There are 15 "hot spots" on this graphic, including the menu items.


SpaClndr - Technical Information

Visual Basic

SpaClndr is written in Microsoft Visual Basic, version 3.0.  The holiday database is maintained using Visual Basic's database support.

Components

See Ordering Space Calendar for a list of the source code components provided with the product.

Controls

SpaClndr uses the following additional controls:

ThreeD.VBX	3D Controls provided with professional VB.
TrueGrid.VBX	A bound grid provided by Apex Software.
VSVBX.VBX	An elastic control provided by VideoSoft.

These components are distributed with the product.

Dynamic Link Libraries

SpaClndr uses the following DLL's:

VBRun300.DLL	Visual Basic run time library
VBDB300.DLL	Visual Basic database library
MSAJT110.DLL	Access engine
MSAES110.DLL	Access library

Because of their large size, these components are not routinely distributed.  Contact The Bridge for copies of these components if you need them.

An Access engine library [MSAJT110.DLL version 1.10.0001] is available on CompuServe in Lib 1 of the MSBASIC Forum in a self-extracting file named MSAJT.EXE.  This file can also be found on the Microsoft Download Service [MSDL] at 206-936-MSDL [206-936-6735].

Share.Exe

Access uses the record locking support provided by Share.Exe.  Be sure to load Share before running SpaClndr.


The Demo Program

A demonstration program, TstClndr, demonstrates DDE linkage between the Calendar and an application program.  Click on each section of the following graphic for an explanation of the demo program functions.  There are six "hot spots" on this graphic.


The Demo Program - Technical Information

TstClndr is a Visual Basic program that uses Windows Dynamic Data Exchange [DDE] support to pass information between two applications.  TstClndr contains two text boxes linked to corresponding text boxes in SpaClndr.  One is used to pass a date the other to pass a status message.

TstClndr attempts to establish a link to the text boxes in SpaClndr.  If the link is unsuccessful then TstClndr loads [using the Shell command] SpaClndr and then tries the link again.  If that fails then no link is possible.

The use of this technique means that TstClndr will link to SpaClndr even if SpaClndr is already running before TstClndr starts.

You will want to review the TstClndr source code if you plan to write applications that link to SpaClndr.  Load the Visual Basic TstClndr project file [TstClndr.Mak] file and review the demo.


About SpaClndr

SpaClndr - SpaClndr was developed by The Bridge, Inc.  It was written for inclusion into the Space Reservation system currently under development by that company.  The Bridge's address:

199 California Drive
Millbrae, CA  94030
United States of America
CompuServe: 71662,205
415-697-2730
Fax: 415-692-3921


Ordering SpaClndr
Ordering Space Calendar

Use WinHelp's print topic function [File, Print Topic] to print this order form.

SpaClndr Components:

Addback.Bas	Add Backslash Function
Author.Bas	Author Information
Cntrform.Bas	Center the Form
Holidays.Mdb	Holidays Database, Microsoft Access format
Msgbox3d.Bas	3D Message Box Subroutines
Msgbox3d.Frm	3D Message Box Form
Msgbox3d.Frx	3D Message Box Binary Information
ReadMe.Txt	Current Information
Spaclndr.Bas	Space Calendar Subroutines
Spaclndr.bmp	Space Calendar Picture
Spaclndr.Frm	Space Calendar Form
Spaclndr.Frx	Space Calendar Binary Information
Spaclndr.Hlp	Space Calendar Help File
Spaclndr.Ico	Space Calendar Icon
Spaclndr.Mak	Space Calendar Project File
Spaclndr.Txt	Space Calendar Help Context Information
Spaclndt.Frm	Space Calendar Select Date Form
Spaclnh.Frm	Holiday Form
Spaclnh.Frx	Holiday Binary Information
Spaclnhn.Frm	Holiday Add Holiday
Spacmain.Bas	Calendar Main Subroutine
Spadbmsa.Bas	Holiday Database Variables
Spaglb.Bas	Space Globals
Spauser.Ini	Space User Ini File
Spavbglb.Bas	VB Globals
Spavers.Bas	Version Information
Threed.Vbx	3D Controls
Truegrid.Vbx	True Grid Controls
Tstclndr.Bas	Demo Subroutines
Tstclndr.Frm	Demo Form
Tstclndr.Frx	Demo Binary Information
Tstclndr.Mak	Demo Project File
Vsvbx.Vbx	VideoSoft Controls

Send SpaClndr to:

Name:	_________________________________________

Company:	_________________________________________

Address:	_________________________________________

City/State/ZIP	_________________________________________

Phone:	_________________________________________

CompuServe:	_________________________________________

Price:

Product: 	$19.95 US  [California purchases, add appropriate sales tax.]

Shipping: 	$2.95 by US Postal Service, $3.95 by CompuServe

Payment Method:

Check          Visa          MasterCard

If Credit Card, Number: ________________________________,
Expires: ________  or order by phone: 415-697-2730

If Check, make payable to and Mail to:

199 California Drive
Millbrae, CA  94030
CompuServe: 71662,205
415-697-2730
Fax: 415-692-3921


Change Month or Year

Click the left [image] or right [image] month panel buttons to add or subtract one month from the currently displayed date.

Do likewise on the year panel to add or subtract one year.


Change Day

Click the desired day or use the short-cut keys to change the date.  See the Calendar Menu for a list of the short-cut keys.


Display Menu

Click the menu button to display the calendar's menu.  See the Calendar Menu for details.


Cancel, Today, Select Date or Close

Select Cancel, or press Esc, to close the menu.

Select Today or press the "T" key to display today's date.  This menu item is disabled if today's date is the current selection.

Jump to a new date by selecting menu item "Select a Date" or by pressing "S" while display the calendar.  Enter the new date on this form then press Enter.

Select Close to unload the calendar.  Or press the Esc key while displaying the calendar to close it.


Previous, Next, First and Last

When you select menu item Previous, Next, First or Last a sub menu appears allowing you to quickly jump to another date.  Use the short-cut keys to quickly perform the desired jump.


Holiday Selection

Turn on or off the display of holidays or display the holiday database entry screen by selecting these menu items.


Center or Reset Location - Always On Top - Help

The calendar's location is saved between sessions in the SpaUser.Ini file.

Select the Center menu item, or "C", to center the calendar on the screen.  Once centered, the calendar can be moved back to it's previously loaded location by pressing "R" or selecting the Reset Location menu item.  The menu item's caption is toggled between "Center" and "Reset Location" based upon the current location of the calendar on the screen.

Check the "Always On Top" menu item to cause the calendar to always be visible [on top of other applications].

Press F1 or select the Help menu item to display this help file.


Pop Up

The Windows Help engine [WinHelp.Exe] can start a secondary [pop up] help window.  The secondary window is most commonly used to display a definition of the highlighted text.

This is an example of a pop up screen.


Date

The Date field is a "two way" text box.  If you enter a date, then press the Enter key, the date is passed to the calendar program.  The passed date becomes the "selected" date in the calendar.  A link is attempted after Enter is pressed.

Entered dates can be in almost any format, for example: January 1, 1994, 1/1/94, 1-1-94, 1/1 [the current year is used].  The Visual Basic date conversion routines are used.  See the Visual Basic DateValue function help information for details.

If the calendar is active and a new date is selected that new date will appear in this field.

The format of the date is based upon the setting in the Window's Control Panel, International, Date Format, Short Date Format.  The calendar will return dates for years other than 19xx only if the Century option is set with the Short Date Format.


Calendar Status

Messages from the calendar program are displayed here.

In this example a bad date was passed to the calendar.  The calendar program created the error message.  Reenter a valid date.


Message

Messages created by TstClndr are displayed here.

In this example a link was established with the calendar.


Calendar Command Button

Click this button to load the calendar program, if not loaded, and link the date and status fields.

The demo program first attempts a DDE link with the calendar.  If the DDE link fails the demo program attempts to load the calendar and then retries the DDE link.

It is possible for more than one application program to share the calendar.  The demo will attempt to reestablish the link if it is broken by another application.

Only the application that loaded the calendar will attempt to close it - the program issuing the Shell command.


Exit

Terminate the demo.

The demo will also terminate the calendar if the following conditions are meet:

1.	The date displayed in the caption of the calendar matches the date in the linked date field, and

2.	The demo program caused the calendar to be loaded [issued the Shell command].


Help

Display this help file.


Description

A description of the holiday.  Maximum 40 characters.


Day

The day of the week.  Not an editable field.  Change the date to cause this field to be changed.


Date

The date of the holiday.  The date can be entered in almost any recognizable format.  Some example: Oct 13, 1938, October 13, 1938, 10/13/38, 10-13-1938, 10/13 [current year is used].  The date field can be blank, probably not a desirable feature.

The input field can not be exited if an invalid date is entered.  Press Esc to exit if a valid date can't be entered.


Day Off

Is this date a "company" holiday?  Is it a "day off?"  Click on this field to change the setting from "Yes" to "No" and vice versa.


Recurring Holiday

Does this holiday occur on the same day each year.  For example: Christmas, Independence Day.  Recurring holidays need only be entered one time for the calendar to display the holiday each year.  Click on this field to change the setting from "Yes" to "No" and vice versa.


MM-DD, Month Day

The month and day of the holiday.  You can sort on this field to easily determine if more than one holiday, even a recurring one, falls on the say day of the year.

Not an editable field.  Change the date to cause this field to be changed.


Data Bar

Use the data bar to position the grid to the first, previous, next or last row by clicking on the appropriate data bar button.


Add

Add a holiday.  A sample screen:

The holiday name is required.  The date is not.  Also indicate whether this is a "day off" and if the holiday occurs on the same day each year [is recurring].


Delete

Delete the holiday.  Click the "yes" button to delete the holiday.  Click "no" to cancel the deletion request.  A sample screen:


Close

Close the holiday screen and return to the calendar.

If you double-clicked a holiday displayed on the calendar to display the holiday schedule then the calendar is displayed with the date of the last holiday selected while scrolling through the grid.  Otherwise the calendar is restored displaying the date previously selected.


File

Only one option is available in the file menu - Exit.  Selecting Exit is the same as clicking the Close button.


Sort

Various holiday schedule sort options are provided.  By default, the holidays are sorted by date.  The sort menu:

The schedule can be sorted in Ascending or Descending sequence.  The menu caption is toggled.  The caption indicates what the sort sequence will be after the item is selected.


Select

Select all, a year's worth, or a month's worth of records.  These menu items change depending upon which holiday record is currently selected.  In this example, the 1995 records would be selected.

Select menu item "Days Off Only" to only display holidays defined as "days off".


Holiday Window

You can center the screen or restore the "factory settings."  Screen settings are store in an initialization [ini] file and restored when the holiday schedule form is reloaded.  The Window menu:


Glossary of Popup Screens

Add Holiday

Calendar Command Button

Calendar Status

Cancel, Today, Select Date or Close

Center or Reset Location - Always On Top - Help

Change Day

Change Month or Year

Close Holiday Screen

Data Bar

Date

Date Link

Day

Day Off

Delete a Holiday

Display Menu

Exit

File

Help

Holiday Description

Holiday Selection

Holiday Window

Message

MM-DD, Month Day

Previous, Next, First and Last

Recurring Holidays

Select Holidays

Sort Holidays


Last Help Topic

You can only display this screen by scrolling sequentially through the SpaClndr help file or by searching for topic "Scrolling a Help File".  If you scrolled into this topic it means you used the technique described below.

Scrolling a Help File

You can scroll sequentially through any WinHelp file.  Do the following:

1.	Insert SeqTopicKeys=1 in the Windows Help section of the Win.Ini file.
For example:

[Windows Help]
.....
SeqTopicKeys=1

2.	Use the Shift+Ctrl+Right Arrow key combination to scroll forward one topic.  Jump to the first topic with Shift+Ctrl+Home.  Go back a screen by pressing Ctrl+B [the standard WinHelp command].

The author discovered this tidbit in PC Magazine, March 15, 1994, page 309.